#pragma once
#pragma warning(disable:4503)
#include<string>
#include<set>
#include<QString>
using namespace std;
#include<assert.h>
#include<QSharedPointer.h>
#include<QMap>
#include<QSet>
#include<QVector>

#include <QVector2D>
#include <QVector3D>
#include <boost/bind.hpp>
#include <boost\function.hpp>
#include <boost/thread.hpp>

#include "ExceptionHandle.h"
#define SharedPointer boost::shared_ptr
#define ZMVector std::vector
#define ZMString string

#define USE_DOUBLE
#ifdef USE_DOUBLE
#define ZMReal double
#else
#define ZMReal float
#endif

#define XMIN 500000
#define YMIN 3200000

#define ZM_PI 3.1415926


extern QString ToQString(const ZMString& str);


extern ZMString ToString(const QString& str);

#include "StreamExchangeData.h"

#include "ZMMath.h"

//#include "ParamCreate.h"
//#include "NameCreateBase.h"
//

#include "qtunity3d.h"

extern void SetMainWnd(qtUnity3d * mainWnd);

extern qtUnity3d *  GetMainWnd();

extern QTreeView * GetAtttibuteTree();